1. Field of the Invention
The present invention relates to methods and systems for backing up and restoring data on computer systems connected by a network and, in particular, to methods and systems for reciprocal data backup between backup partners using peer-to-peer computer communications.
2. Background Information
As computers become used more frequently in everyday life, as well as for business and social functions, the reliability of computer systems has greater impact. Data may be lost for a variety of reasons, including due to a physical problem with the computer system disk drive or related components; the user inadvertently overwriting or deleting a file, theft (especially with portable computers), or the user intentionally overwriting a file (e.g. modifying it and saving it) and then later desiring an earlier version of the file. The need to reliably and frequently save copies of data in various states of modification so that they can be restored when necessary has become an ever-increasingly important part of our on-line and computerized existence.
The process of saving data, typically known as “backing up” data, is often neglected for a variety of reasons, including cost, time, effort, reliability, capacity limitations, and others. Traditional approaches for backing up data fall into three categories: 1) copying data to removable and storable media, such as diskettes, CDs, tape, and DVDs; 2) copying data to secondary (non-removable) media on the same system; and 3) copying the data to on-line servers or other storage available over a network, which can be performed automatically at scheduled intervals or periodically upon request.
Each of these approaches has drawbacks. The first approach of copying to removable media is limited in a large part by the inconvenience to the user and physical constraints of the media. Specifically, it takes time and effort to: a) make sure blank storage (disk, CD, tape, DVD, etc.) is available and ready prior to a backup; b) find and run the backup program; c) wait for it to “write” the media, which for CDs and DVDs can take most of an hour; d) be available to switch out media if the backup requires more capacity; and e) label the newly written media and store it somewhere safe. In addition, removable backup media is particularly vulnerable to loss, defects, or damage, rendering a portion or all of the stored data unreadable or unusable. For example, such media is rarely stored in a secure place, such as a bank's safe-deposit box, because it is not practical to do so after every backup. In practice, removable media are stored around a house or office, leaving them susceptible to misplacement, fire, theft, and accidents. Also, backup media such as diskettes, CDs, and DVDs suffer from limited capacity, generally far less than the amount of data that can be stored on a personal computer's disk drive and hence the amount required to fully back up an entire computer system. A tape or additional hard disk drives may be used to solve the capacity problem, but these in turn are very costly.
The second approach of copying to resident secondary media, such as additional hard disk drives, provides very limited reliability and is more costly, although it addresses the capacity problem. Specifically, if the entire computer system becomes vulnerable, merely having another copy of the data on the same machine will rarely provide a reliable backup mechanism. If however, data is lost due to user overwrite, or if one of the drives fails, redundant copies of data may allow restoration of an earlier version of a desired file. In addition, this approach suffers from similar problems to the first approach with respect to running a backup program, keeping track of where redundant copies have been made, etc., and thus requires a lot of proactive involvement from users.
The third approach of copying to on-line servers is limited primarily by expense, reliability, and accountability. Although copying files to on-line servers may be less cumbersome than using removable media, especially if the task is performed automatically, on-line backup service is generally expensive even for relatively small amounts of storage. Also, online servers are sometimes “off-line,” rendering the stored data inaccessible for restoration, and occasionally lose data due to malfunctions or software bugs. In addition, many on-line services companies have gone out of business and ceased operations in the past years because such servers are expensive to maintain. The stored data may well then be unavailable permanently.